/*
 * Дополнение графа
 */
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <assert.h>
#include <limits.h>
#include <ctype.h>

int
main(int argc, char **argv)
{
	static char am[1000][1000];
	int n, m, a, b;
	int k;
	register int i, j;

	scanf("%d%d", &n, &m);
	for (i = 0; i < m; i++) {
		scanf("%d%d", &a, &b);
		--a; --b;
		am[a][b] = am[b][a] = (char) 1;
	}
	k = 0;
	for (i = 0; i < n; i++)
		for (j = i + 1; j < n; j++)
			if (am[i][j] == (char) 0) {
				am[i][j] = (char) 2;
				++k;
			}
	printf("%d\n", k);
	for (i = 0; i < n; i++)
		for (j = i + 1; j < n; j++)
			if (am[i][j] == (char) 2)
				printf("%d %d\n", i + 1, j + 1);

	return 0;
}
